package com.nextel.project.pedido.bean;

import pe.com.nextel.rms.DataInputStreamX;
import pe.com.nextel.rms.DataOutputStreamX;
import pe.com.nextel.rms.PersistenteX;
import java.io.IOException;
import org.kxml2.io.KXmlParser;
import org.kxml2.io.KXmlSerializer;
import pe.com.nextel.util.ArrayList;
import pe.com.nextel.util.Iterator;
import pe.com.nextel.util.List;
import pe.com.nextel.util.StringUtils;

/**
 *
 * @author nexteldata
 */
public class EstablecimientoBean extends PersistenteX {

    private long codigoCliente;
    private String codigo;
    private String nombre;

    public void persistir(DataOutputStreamX dataOutput, List list) throws IOException {
        dataOutput.writeInt(list.size());

        for (Iterator it = list.iterator(); it.hasNext();) {
            EstablecimientoBean bean = (EstablecimientoBean) it.next();
            bean.persistirItem(dataOutput);

        }
    }

    public void persistirItem(DataOutputStreamX dataOutput) throws IOException {
        dataOutput.writeString(StringUtils.stringNullToBlank(getCodigo()));
        dataOutput.writeString(StringUtils.stringNullToBlank(getNombre()));
        dataOutput.writeLong(getCodigoCliente());

    }

    public void recuperarItem(DataInputStreamX dataInput) throws IOException {

        setCodigo(dataInput.readString());
        setNombre(dataInput.readString());
        setCodigoCliente(dataInput.readLong());

    }

    public List recuperar(DataInputStreamX dataInput) throws IOException {
        List lista = new ArrayList();
        EstablecimientoBean bean = null;

        int cant = dataInput.readInt();
        for (int i = 0; i < cant; i++) {
            bean = new EstablecimientoBean();
            bean.recuperarItem(dataInput);
            lista.add(bean);
        }

        return lista;
    }

    public String getCodigo() {
        return codigo;
    }

    public void setCodigo(String codigo) {
        this.codigo = codigo;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public void writeXMLObject(KXmlSerializer writer) throws IOException {
    }

    public void readXMLObject(KXmlParser parser) throws IOException {
        setCodigo(parser.getAttributeValue(null, "c"));
        setNombre(parser.getAttributeValue(null, "d"));
    }

    public long getCodigoCliente() {
        return codigoCliente;
    }

    public void setCodigoCliente(long codigoCliente) {
        this.codigoCliente = codigoCliente;
    }

    public void clear() {
    }
}


